home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 3: CDPD 3 / Almathera Ten on Ten - Disc 3: CDPD3.iso / ab20 / unarced / utilities / shells / sksh / scr_source / pushd.s < prev    next >
Text File  |  1995-03-17  |  865b  |  25 lines

  1. #!c:sksh
  2.  
  3. #*************************************************************************
  4. # The following functions implement directory push and pop operations.
  5. # The first, pushd, accepts one argument.  It cd's to that directory, but
  6. # pushes the current working directory onto a stack, first, so that it
  7. # can later be retrieved with a popd.
  8. #*************************************************************************
  9.  
  10.    if [ "$#" -ne '1' -o "$1" = '-?' ]
  11.    then
  12.       echo 'Usage:' $(basename $0) 'new_dir'
  13.       echo '       (pushes new directory onto directory stack)'
  14.       return 1
  15.    fi
  16.  
  17.    # --- the argument must be a directory we can "cd" to ---------------------
  18.  
  19.    cd "$1" >nil: || echo "$0: Can't cd to $1" && return 1
  20.  
  21.    # --- save off the old working directory in the DIRSTACK ------------------
  22.  
  23.    DIRSTACK="$OLDPWD,$DIRSTACK"
  24.    export -l DIRSTACK
  25.